package cn.acmenms.po.enums;

import java.time.format.DateTimeFormatter;

/**
 * @ClassName: TimeFormatEnum
 * @Description: 时间格式化枚举
 * @author: 神奇的鸭鸭
 * @Date: 2018/1/16 11:18
 */
public enum TimeFormatEnum {

    // 特殊
    YYYY("yyyy"),
    MM_POINT_DD("MM.dd"),

    // 标准
    YYYY_MM_DD("yyyy-MM-dd"),
    YYYY_MM_DD_HHMMSS("yyyy-MM-dd HH:mm:ss"),
    YYYY_MM_DD_HHMMSS_SSS("yyyy-MM-dd HH:mm:ss.SSS"),

    // 斜杠
    YYYY_MM_DD_SLASH("yyyy/MM/dd"),
    YYYY_MM_DD_HHMMSS_SLASH("yyyy/MM/dd HH:mm:ss"),
    YYYY_MM_DD_HHMMSS_SSS_SLASH("yyyy/MM/dd HH:mm:ss.SSS"),

    // 反斜杠
    YYYY_MM_DD_BACKSLASH("yyyy\\MM\\dd"),
    YYYY_MM_DD_HHMMSS_BACKSLASH("yyyy\\MM\\dd HH:mm:ss"),
    YYYY_MM_DD_HHMMSS_SSS_BACKSLASH("yyyy\\MM\\dd HH:mm:ss.SSS"),

    // 合并
    YYYYMMDD("yyyyMMdd"),
    YYYYMMDD_HHMMSS("yyyyMMdd HH:mm:ss"),
    YYYYMMDD_HHMMSS_SSS("yyyyMMdd HH:mm:ss.SSS");

    private transient DateTimeFormatter formatter;

    TimeFormatEnum(String pattern) {
        formatter = DateTimeFormatter.ofPattern(pattern);
    }

    public DateTimeFormatter getFormatter() {
        return formatter;
    }

    public void setFormatter(DateTimeFormatter formatter) {
        this.formatter = formatter;
    }
}